// function flatten(arr) {
// 	// 递归法
// 	let result = [];
// 	for(let i in arr){
// 		let item = arr[i];
// 		if(item instanceof Array){
// 			result.push(...flatten(item));
// 		}else{
// 			result.push(item);
// 		}
// 	}
// 	return result;
// }
function flatten(arr) {
	// 迭代法
	let result = [];
	let stack = [arr];
	while(stack.length){
		let item = stack.shift();
		if(item instanceof Array){
			for(let i in item){
				stack.push(item[i])
			}
		}else{
			result.push(item);
		}
	}
	return result;
}
var arr=[1,2,3,[4,5],[6,[7,[8]]]];
console.log(flatten(arr));